package com.shujia.day03;

public class Code01ForDemo {
    public static void main(String[] args) {
//        System.out.println("hello world");
//        System.out.println("hello world");
//        System.out.println("hello world");
//        System.out.println("hello world");
//        System.out.println("hello world");
//
//        System.out.println("hello world");
//        System.out.println("hello world");
//        System.out.println("hello world");
//        System.out.println("hello world");
//        System.out.println("hello world");

        // 对于重复执行的代码可以使用循环结构来完成
        /*
            循环结构：重复做同一件事 需要提供： 开始条件  判断条件 循环体语句 控制语句

            for循环：

            for(初始化语句;判断条件语句;控制条件语句) {
                 循环体语句;
            }

            初始化语句：对循环中的控制变量进行初始化
            判断条件语句：对控制变量进行判断，是否符合要求，如果符合要求那么需要执行具体的循环体语句
            循环体语句: 具体的重复代码逻辑
            控制条件语句：用于控制变量的变化

            注意：
                ① 判断条件语句需要返回一个true/false ,如果出现false那么当前循环结束 ，判断条件不可以为空，不然会出现死循环
                ② 对于初始化语句可以放在for循环之外，当在外面作用域时，可以获取到其对应的值，在for中初始化，那么可以在for的{}中获取其变量，外部获取不到
                ③ 对于控制语句，可以在for循环的{}中进行做操作
                ④ for循环的{}，可以省略，但是只能运行一行数据,并且一般情况下不能省略
                ⑤ 执行顺序： 初始化语句 -> 判断语句 -(true)> 循环体 -> 控制条件语句 ->判断语句 --(..)>循环体 ...
                ⑥ 初始化语句只会执行一次

         */

        // num 表示循环次数
        for (int num = 1; num <= 10; num++){
            System.out.println("hello world");
            System.out.println("num:"+num);
        }

        int num = 1;
//        for (; num <= 10; num++){
//            System.out.println("hello world");
//        }
//        System.out.println("num:"+num);

//        for (; ; num++){
//            System.out.println("hello world");
//        }

//        for (; num <= 10; ){
//            System.out.println("hello world");
//            num++;
//        }
//        System.out.println("num:"+num);

        for (; num <= 10; num++)
            System.out.println("hello world");
            System.out.println("{}num:"+num);

    }
}
